const path = require('path')
module.exports = {
    /*
    依赖
    babel-loader js转换 
    @babel/preset-env  最新的js
    babel-core@3 的作用是把 js 代码分析成 ast 例如箭头函数 promise 无法识别需要进行先转换成ast
    */
    entry: './index.js',
    output: {
        filename: 'index.js',
        path: path.resolve(__dirname, 'dist')
    },
    module: {
        rules: [
            {
                test: /\.js$/i,
                loader: 'babel-loader',
                exclude: /node_modules/,
                // options: {
                //     //预设：提示babel做怎么样的兼容性处理   配置这个就不需要core-js  但需要再需要转换文件进行 // import '@babel/polyfill'  
                //     presets: ['@babel/preset-env']
                // },
                //core-js写法  
                options: {
                    presets: [
                        [
                            '@babel/preset-env',
                            {
                                useBuiltIns: 'usage',//按需加载
                                corejs: {
                                    //core-js的版本
                                    version: 3
                                },
                                //需要兼容的浏览器
                                targets: {
                                    chrome: '60',
                                    firefox: '60',
                                    ie: '9',
                                    safari: '10',
                                    edge: '17'
                                }
                            }
                        ]
                    ]
                }
            }
        ]
    },
    plugins: [
    ],
    mode: 'development'
}